package com.uraurora.crescent.ai.ktbt

import com.uraurora.crescent.ai.ktbt.annotation.NodeConstraint


/**
 * @author : gaoxiaodong04
 * @program : crescent
 * @date : 2020-08-07 20:23
 * @description : 行为树节点的抽象类，主要包含状态更新、设置子节点等逻辑
 */
@NodeConstraint
abstract class AbstractNode<E> : INode<E> {

    override fun setControl(control: INode<E>?) {
        TODO("Not yet implemented")
    }

    override fun addChild(child: INode<E>?): Int {
        TODO("Not yet implemented")
    }

    override fun getChild(i: Int): INode<E>? {
        TODO("Not yet implemented")
    }

    override fun checkGuard(control: INode<E>?): Boolean {
        TODO("Not yet implemented")
    }

    override fun start() {
        TODO("Not yet implemented")
    }

    override fun end() {
        TODO("Not yet implemented")
    }

    override fun run() {
        TODO("Not yet implemented")
    }

    override fun running() {
        TODO("Not yet implemented")
    }

    override fun success() {
        TODO("Not yet implemented")
    }

    override fun fail() {
        TODO("Not yet implemented")
    }

    override fun childSuccess(runningTask: INode<E>?) {
        TODO("Not yet implemented")
    }

    override fun childFail(runningTask: INode<E>?) {
        TODO("Not yet implemented")
    }

    override fun childRunning(runningTask: INode<E>?, reporter: INode<E>?) {
        TODO("Not yet implemented")
    }

    override fun cancel() {
        TODO("Not yet implemented")
    }

    override fun resetTask() {
        TODO("Not yet implemented")
    }


}